In computer networks, clients access and share the services provided by one or more servers. The nomenclature applies when the network is as large as the Internet, where client are computers (for example, personal computers) and the servers are Internet access nodes where data access or other services can be reached. The nomenclature also applies when the network is as small as a few serial device clients communicating with a single computer server, or in a corporate network where employee computers communicate with a rack of servers.
In the server rack environment, a number of servers are stacked (literally mounted) in a rack within a convenient central location. From that location, networking capabilities are provided between the various servers in the rack and the clients that are eligible to use their services. A common connection technique today is Ethernet connection or other connection by traditional ports and cables, such as CAT 5 type cables, also may be employed. At the central location, computer technicians can obtain ready access to all of the physical servers, and perhaps even more importantly, can control the environmental conditions (such as ambient temperature) where the servers operate. For that reason, and other reasons of practicality, most corporate networks now employ racks of servers communicating with the various computers employed by the corporation. A server rack can contain many servers, and in the case of so-called blade servers (for example, servers without surrounding independent boxes), it is possible for many hundreds or thousands of blades to employed in a common rack.
When the network is designed for personal computing, the servers operate (in a simplified manner) by receiving keyboard and mouse signal provided from a client, processing those signals using the application(s) resident on the server, creating a video signal based on the signals and application, and transmitting the video signal back to the client for display at the client workstation. In that way, a client user can communicate with a server to employ the server's services using inputs from the client and receive back the appropriate video information resulting from the client request and server response. In the past, such keyboard, mouse, and video transmissions required a tremendous amount of cabling together with intelligent switching to ensure that the client could communicate with a selected one of the servers in the server rack.
Such keyboard, mouse and video switching is described in U.S. Pat. No. 5,721,842, entitled Interconnection System for Viewing and Controlling Remotely Connected Computers with On-Screen Video Overlay for Controlling of the Interconnection Switch, which is incorporated herein by reference in its entirety. An alternative method and apparatus for transmitting keyboard and mouse signals from a client to server is described in U.S. Pat. No. 5,732,212, entitled System and Method for Remote Monitoring and Operation of Personal Computers, which is also incorporated herein by reference in its entirety. Many variations exist in the manner and protocol employed in communicating the keyboard and mouse signals between the client and the server. Also, different alternative embodiments exist in which the keyboard, mouse and video signals are switched between a selected client and/or a selected server. The details of such variations in manner/protocol and in switching systems are known in the art, are at least in part described in the above-incorporated patents, and for sake of brevity will not be repeated herein.
Server rack systems, the cabling issues that attend to such systems, and methods of addressing such cabling issues are described in U.S. patent application Ser. No. 09/951,774, entitled Passive Video Multiplexing Method and Apparatus, which is also incorporated herein by reference in its entirety. As described in greater detail in the '774 application, the rear view of a rack full of servers can appear as a tangle of cables with each server requiring at least two cables—even in low-cable embodiments. With a rack of hundreds, and potentially thousands of servers, even those low-cable systems employ enormous mazes of cable.
FIG. 2 illustrates a prior art system in which eight workstations 20 are connected by a set of KVM switches 21 to sixty available servers 22. In the example embodiment, the KVM switches could be the so-called “XP” series switches manufactured by Avocent of Huntsville, Ala. In such switches, workstation cards (identified in FIG. 2 as XPDU cards and one of which is identified as card 23) provide switch access points for workstations 20 to a backplane in the respective switches 21. Similarly, server cards (identified in FIG. 2 as XPAC cards and one of which is identified as card 24) provide switch access points for servers 22 to a backplane in the respective switches 21. The switches communicate information on their respective backplanes between themselves by switch receive cards (XPSR, for example, card 25) and switch transmit cards (XPST, for example, card 26). Keyboard and mouse signals that originate at the workstations 20 are communicated to the servers through the switches via switch paths created by the XPDU, XPSR, XPST, and XPAC cards as they cooperate with the backplane controllers within the respective switches 21. Similarly, video signals that originate at the servers in response to the keyboard and mouse signals are communicated back to the workstations through a similarly established switch path.
In the example of FIG. 2, sixty KVM cables (usually having at one end a keyboard cable, mouse cable and video ports to communicate with corresponding ports on the server and at the other end a standard or proprietary connector to communicate with the KVM switch) are required to connect the XPAC cards to corresponding ones of the sixty servers. Eight more KVM cables are required to connect the XPDU cards to corresponding ones of the eight workstations (in addition to cables, such as network cables, etc. connected to the workstation). Finally, 192 cables (such as CAT 5 type or other suitable cable) interconnect the switches to establish the respective switch paths for the workstations 20 to access any of the servers 22. The total count of cable for the example embodiment of FIG. 2 is 260 cables, the cumulative effect of which is shown in FIG. 3.
FIG. 4 is a prior art modification of the system of FIG. 2 in which cabling is reduced by the inclusion of a multiplexing hub. In FIG. 4, twice as many workstations 20 (sixteen) switch to the same sixty servers 22 via XP switches 21. However, in the embodiment of FIG. 4, the middle layer of XP switches seen in FIG. 2 is replaced by the multiplexing hub 25, which may be, for example, the XP4400 hub manufactured by Avocent. The multiplexing hub 25 coordinates communication between the switches 21 that directly connect to respective servers and workstation, thus eliminating a substantial amount of infrastructure cabling. As shown, the system as a whole still requires sixty KVM cables for the servers. Sixteen cables are added to the workstations. Eighty cables connect the hub 25 to the switches 21. The total count of cable for the example embodiment of FIG. 4 is 156 cables. The cumulative effect of the cable count is shown in FIG. 5, which still shows a tangle of cables, but of much less volume than that shown in FIG. 3.
FIG. 6 provides the next cable-reducing improvement in the prior art KVM switch environment. In FIG. 6, the servers are connected to digital KVM switches 27, such as the DSR series of switches manufactured by Avocent. In the example embodiment, keyboard, mouse and video all travel on a CAT 5, or other suitable, cable from the server 22 to the digital switch 27. The digital switch packets the keyboard, the mouse, and a digitized version of the video for transmission via network 26 to the workstations 20. The workstations 20 require no additional cabling beyond that already found in the standard workstation (assuming, as in the above embodiments of FIGS. 2 and 4 that the workstations already include network connections). The type of network 26 and the network protocol used is not limiting. In the embodiment of FIG. 6, added system cable includes only sixty cables from the servers to the digital switch 27 and four cables from the digital switch 27 to the network 26. The total cable count in FIG. 6 is 64.
As shown by the progression of prior work done to reduce cabling requirements in KVM switch environments, an effective wireless system would provide substantial advantage in reducing cabling complexity within the rack. But, standard wireless technology does not yet provide the requisite performance criteria needed to simply substitute wireless transmitter/receiver combos wherever a wire now exists in the client and server architecture. One cannot simply decide to remove the sixty cables from the servers in the embodiment of FIG. 6 and substitute wireless transmitters and receivers for them because the performance requirements in the KVM environment and the performance provisions by standard wireless systems do not match. Even in the wire-line environment, communicating video signals from the servers to the clients has posed particularly troubling issues. Uncompressed video information from a server can, depending on resolution and refresh rates, amount to 60 million or more pixel values per second being communicated from the server to the client. Bandwidth requirements for that kind of data volume can be prohibitively high, even for most wire-line systems much less wireless ones. Some traditional video compression techniques, such as the JPEG and MPEG variations, require substantial processor capabilities or remain too slow for the KVM system arts, where even relatively small delay times between keyboard/mouse input from the client and video response from the server will frustrate client users.
One method of addressing video transmission from a rack of servers to a client is described in U.S. Pat. No. 6,418,494, entitled Split Computer Architecture to Separate User and Processor While Retaining Original User Interface, which is also incorporated herein in its entirety. In the '494 patent, video information is communicated from bus to bus, in one example embodiment from PCI bus to PCI bus. In that embodiment, the PCI bus data requires a substantially smaller bandwidth than does the raw video data. Such a system has particular usefulness in server rack environments where the video transmissions can be made as PCI bus data rather than as raw video data so the communication channel can provide lower bandwidths while maintaining acceptable keyboard/mouse to video signal synchronization.
Another method of addressing video transmission issues is described in U.S. patent application Ser. No. 10/260,534, entitled Video Compression System (the Dambrackas application), which is also incorporated herein by reference in its entirety. In there, video is compressed in a manner that is particularly suited to computers, namely by strategically choosing between various combinations of commands. In one embodiment, the command choices include (a) one from a set of run-length commands in which pixels are identified by reference to a known pixel value of predetermined positional relationship to a current pixel, (b) a make-series command in which pixels are identified by a binary bit value corresponding to one of two known colors, and (c) a make-pixel command in which a single pixel value is identified by traditional 15-bit color encoding (or other such suitable per-pixel encoding).
More particularly, the above-described Dambrackas algorithm receives a continuous string of pixels, which are encoded by a strategic selection of pixel encoding techniques that optimize encoding based on characteristics that are unique to computer video. First, whenever a portion of the string of pixels can be run-length encoded using a copy command from a known pixel to the left of the first pixel in the string portion, above the first pixel, or in the same x-y location as the first pixel but in a prior frame, the algorithm encodes the string into one or more bytes having a header identifying the type of run-length command and the length of the run. Second, when run-length encoding does not apply to a string portion, the algorithm determines whether the string portion consists of only two colors. If so, the two colors are identified (either independently or by reference to known pixel colors) and then one or more bytes are identified with a payload of binary bit values corresponding in order and value to the string portion of two colors. In that way, the bytes represent bit-coordinated encoding of two-color strings. That particular two-color string encoding develops great efficiency in the encoding because two-color strings tend to disrupt run-lengths, but are frequently found in computer video where two-color text (foreground and background) can predominate.
Of course, other video compression techniques are known and will become known. The present invention is not generally limited to the Dambrackas algorithm (except where the claims so require an algorithm like it), although it supports the first entry into a viable wireless KVM switching system. The Dambrackas application thus has usefulness in the server rack environment where video data from the selected server can be communicated with no loss in video information, with exceptional compression, and with undetectable lag between keyboard/mouse inputs at the client and video response from the server.
Using compression technologies that are particularly suited to computer video, such as those described in the Dambrackas application, sufficient compression efficiency can now be realized to permit a wireless protocol within the server rack system. Wireless-systems are already incorporated into LANs such that clients and servers can exchange packet data between themselves, but wireless technology has been elusive in the sever rack environment where the bandwidth and keyboard/mouse/video synchronization requirements have provided obstacles to the effectiveness of wireless embodiments. The present inventors have solved the problems particular to wireless connectivity in the KVM switch environment by applying suitable video protocols, especially those tailored to computer technology, to reduce the lag time between keyboard/mouse inputs from the client and video responses from the wireless server.
Example wireless protocols, such as IEEE 802.11 can be employed within the server rack environment to eliminate much of the cabling required by wireline rack systems. In fact, using known wireless protocols in the server rack could have provided a wireless solution much earlier but for the unique problem in the server environment where the responsiveness of the server video to the keyboard/mouse entries affects the user's experience at the workstation. Thus, while keyboard and mouse data (with low bandwidth requirements) and various commands (such as application commands) could be easily communicated by wireless protocol using existing techniques, KVM switches and server racks remained wired so the real-time video signals could be timely communicated.
The algorithms described in the Dambrackas application provide an excellent video compression routine to permit the KVM switches and server racks to be converted from a wired scheme to a wireless one.
The IEEE 802.11 specification is a wireless LAN standard developed by the members of the IEEE committee in order to specify an over-the-air interface between a wireless client and a base station, access point, or client. The initial 802.11 standard was finalized in June 1997. It specifies a 2.4 GHz operating frequency using frequency hopping spread spectrum (FHSS) or direct sequence modulation with data rates of 1 to 2 Mbps. Later, the 802.11b, or “high rate,” standard was adopted, which provided data rates of 11 Mbps. The standard's 11 Mbps PHY layer uses Complementary Code Keying (CCK) technology. This standard is based on Direct Sequence Spread Spectrum (DSSS) technology and provides speeds of up to 11 Mbps with fallback rates of 5.5 Mbps, 2 Mbps, and 1 Mbps. The need for even higher rates led to the development of the 802.11a standard, which supports data rates of up to 54 Mbps. Like Ethernet and Fast Ethernet, 802.11b and 802.11a use an identical Media Access Control (MAC). 802.11b technology is the first technology to obtain the same level of performance in the wireless environment as the wired standard 10BaseT Ethernet. 802.11g is a backward compatible extension to 802.11b and will broaden 802.11b's data rates to 54 Mbps, like that of 802.11a. 802.11g operates in the 2.4 GHz band using orthogonal frequency division multiplexing.
Many other 802.11x standards have been evaluated, implemented, and proposed. The following description is meant to provide a suitable background to understand how some of the 802.11 standards can be made compatible with KVM switches and server racks after the video information is treated. This discussion of 802 standards is not meant to limit the present invention in any way, but merely serves to lay a background for how the problem of incorporating wireless services into KVM switches is now made possible by the synergy of wireless bandwidth availability together with favorable video data compression techniques.
802.11b operates in the 2.4 GHz ISM band. It occupies 83.5 MHz (for North America) from 2.4000 GHz to 2.4835 GHz. It provides 11 channels (for North America), each channel being 22 MHz in width, and each channel centered at 5 MHz intervals beginning at 2.412 GHz and ending at 2.462 GHz. There are only three channels that do not overlap (channels 1, 6 and 11).
802.11a operates in the 5 GHz UNII (Unlicensed National Information Infrastructure) band. It occupies in 300 MHz divided into three different bandwidths of 100 MHz each, including: 5.15 to 5.25 GHz (U-NII lower band), 5.25 to 5.35 GHz (U-NII middle band), and 5.725 to 5.825 GHz (U-NII upper band). It provides 12 channels, each channel being 20 MHz in width, beginning at 5.180 GHz and ending at 5.320 GHz for the lower and middle U-NII bands, and beginning at 5.745 GHz and ending at 5.805 GHz for the upper U-NII bands. None of the 802.11a channel overlap. 802.11a defines a total of eight non-overlapping 20 MHz channels across the two lower bands and four non-overlapping 20 MHz channels across the upper band. Each of these channels is further divided into 52 sub-carriers each occupying approximately 300 KHz of bandwidth. Four of the 52 are pilot tones used in the coherent demodulation of the complex transmitted signal at the receiver, and do not carry data—leaving 48 of the sub-carriers to carry user information.
Further background information regarding the current 802.11 standards is shown in FIG. 1.
The 802.11 standards can be applied to KVM switches and server racks at various locations throughout the switching systems to reduce or eliminate cabling in those locations. But, 802.11 cannot alone handle raw video information while maintaining sufficient real-time video/mouse synchronization mandated by the KVM environment. A highly efficient video compression algorithm that takes advantage of compression-friendly characteristics unique to computer video allows 802.11 standards to become appropriate for the bandwidth intensive, real-time environment of KVM switching.
Another aspect of the system can include the use of Ultra Wide Band (UWB) wireless technologies to communicate between system components. UWB is a pulse-based radio technology, as opposed to all other WLAN systems, which operate with a continuous RF since wave signal. UWB uses various combinations of time, coding, amplitude and frequency to allow it to transmit data in large bursts. Because it transmits for only extremely short periods that do not last long enough to cause interference with other signals, UWB can share frequencies that are used by other applications. UWB uses very low power RF signals which take advantage of a large swath of spectrum that is multiple GHz wide. Because UWB uses pulsed signals, UWB can be implemented in many alternative ways ranging from time modulation on a signal pulse to coded strings of pulsed signals.
The spectrum for UWB ranges from 2.5 GHz to 10 GHz with emitted RF power at the FCC part 15 level. FCC part 15 is defined as an amount of unintentional RF emissions. Essentially, this means that UWB signals have an amplitude that would not exceed the ambient noise floor.
Certain aspects of UWB are currently being defined by the IEEE organization and interested companies. One of those aspects is channelization. It is anticipated that a channelization matrix will be defined to allow for multiple combinations of UWB radio links, ranging from a single, very high data rate channel down to many lower data rate channels.
Additionally, signal security in wireless networks is increased when using UWB. The RF signals UWB utilizes travel in the same frequency range as other electronic devices, making the signal appear very noise-like. Further security comes from the various coding schemes involved in UWB and the extremely low emitted power. Because of the low emitted power levels, UWB signals may be effectively transmitted no more than 10 meters. Additionally, because of the ability to measure the time of flight of a single pulse, a system utilizing physical distance gating of UWB signals can be developed and implemented. Therefore, the use of UWB would allow for the transmission of large amounts of data coupled with a high degree of network security.